package com.immediatus.engine.modifier;

import com.immediatus.engine.contracts.IUnit;
import com.immediatus.engine.contracts.IUnitModifier;

public class SequenceUnitModifier extends SequenceModifier<IUnit> implements IUnitModifier{
    public SequenceUnitModifier(final IUnitModifier... modifiers_) throws IllegalArgumentException{
        super(modifiers_);
    }

    public SequenceUnitModifier(final ISubSequenceShapeModifierListener listener_, final IUnitModifier... modifiers_) throws IllegalArgumentException{
        super(listener_, modifiers_);
    }

    public SequenceUnitModifier(final IUnitModifierListener listener_, final IUnitModifier... modifiers_) throws IllegalArgumentException{
        super(listener_, modifiers_);
    }

    public SequenceUnitModifier(final ISubSequenceShapeModifierListener sequenceShapeModifierListener_, final IUnitModifierListener modifierListener_, final IUnitModifier... modifiers_) throws IllegalArgumentException{
        super(sequenceShapeModifierListener_, modifierListener_, modifiers_);
    }

    protected SequenceUnitModifier(final SequenceUnitModifier modifier_){
        super(modifier_);
    }

    @Override
    public SequenceUnitModifier deepCopy(){
        return new SequenceUnitModifier(this);
    }
    public interface ISubSequenceShapeModifierListener extends ISubSequenceModifierListener<IUnit>{
    }
}
